program WtServView;

uses
  FastMM4,
  Forms,
  Windows,
  ConstUnit in '..\..\ConstUnit.pas',
  SoftwareEditUnit in 'SoftwareEditUnit.pas' {frmSoftwareEdit},
  FunctionUnit in '..\..\FunctionUnit.pas',
  MainUnit in 'MainUnit.pas' {frmMain},
  ConsoleUnit in 'ConsoleUnit.pas' {frmConsole},
  SoftwareUnit in 'SoftwareUnit.pas' {frmSoftware},
  CreateIndexUnit in 'CreateIndexUnit.pas' {frmCreateIndex},
  TcpIndexUnit in '..\..\TcpIndexUnit.pas',
  ProtocolUnit in '..\..\ProtocolUnit.pas',
  ComputerGroupNameUnit in 'ComputerGroupNameUnit.pas' {frmComputerGroupName},
  OptionBaseUnit in 'OptionBaseUnit.pas' {frmOptionBase},
  ToolOptionEditUnit in 'ToolOptionEditUnit.pas' {frmToolOptionEdit},
  ToolOptionUnit in 'ToolOptionUnit.pas' {frmToolOption},
  ComputerEditUnit in 'ComputerEditUnit.pas' {frmComputerEdit},
  BasicOptionUnit in 'BasicOptionUnit.pas' {frmBasicOption},
  MD5Unit in '..\..\MD5Unit.pas',
  SyncNodeOptionUnit in 'SyncNodeOptionUnit.pas' {frmSyncNodeOption},
  ComputerGroupEditUnit in 'ComputerGroupEditUnit.pas' {frmComputerGroupEdit},
  TrackUnit in 'TrackUnit.pas' {frmTrack},
  AboutUnit in 'AboutUnit.pas' {frmAbout},
  AuthConfigUnit in 'AuthConfigUnit.pas' {frmAuthConfig},
  SafetyOptionUnit in 'SafetyOptionUnit.pas' {frmSafetyOption},
  NetdiskOptionUnit in 'NetdiskOptionUnit.pas' {frmNetdiskOption},
  SumInfoUnit in 'SumInfoUnit.pas' {frmSumInfo},
  ScanMacUnit in 'ScanMacUnit.pas' {frmScanMac};

{$R *.res}
{$R app.res}

var
  hMutex: THandle;

begin
  hMutex := CreateMutex(nil, False, PChar(WtServViewMutext));
  try
    if GetLastError = ERROR_ALREADY_EXISTS then
      Exit;
    Application.Initialize;
    Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
  finally
    CloseHandle( hMutex );
  end;
end.
